সি# এ throw কীওয়ার্ড মূলত একটি এক্সেপশন তৈরি বা পুনরায় ছাড়ার জন্য ব্যবহৃত হয়। এটি বিশেষ করে এমন পরিস্থিতিতে সহায়ক যেখানে আপনি চান, নির্দিষ্ট শর্তপূরণ না হলে কোড একটি কাস্টম এক্সেপশন ছুঁড়ে দেবে বা কোনো নির্দিষ্ট ত্রুটি প্রদর্শন করবে। throw কীওয়ার্ড প্রোগ্রামের এক্সেপশন হ্যান্ডলিং কাঠামোকে আরও কার্যকরী করে তোলে।

throw কীওয়ার্ড ব্যবহার

১. একটি নতুন এক্সেপশন তৈরি করা
যখন আপনি নির্দিষ্ট শর্তে কোডকে একটি কাস্টম ত্রুটি (Exception) ছুঁড়ে দিতে চান, তখন throw কীওয়ার্ড ব্যবহার করতে পারেন।

উদাহরণ

public void ValidateAge(int age)
{
    if (age < 18)
    {
        throw new ArgumentException("Age must be 18 or older.");
    }
}

এখানে, ValidateAge মেথডে যদি age ১৮-এর কম হয়, তাহলে throw কীওয়ার্ড ArgumentException ছুঁড়ে দেবে। এর ফলে প্রোগ্রাম এই ত্রুটিকে হ্যান্ডল করতে পারবে বা ব্যবহারকারীকে একটি নির্দিষ্ট বার্তা দেখাতে পারবে।

২. এক্সেপশন পুনরায় ছাড়ার জন্য (throw কেবল)
কখনও কখনও catch ব্লকে একটি এক্সেপশন ধরার পরেও সেটিকে পুনরায় ছাড়ার প্রয়োজন হতে পারে, যাতে উপরের স্তরের (higher level) কোড সেই এক্সেপশন হ্যান্ডল করতে পারে। এই ক্ষেত্রে শুধুমাত্র throw ব্যবহার করা হয়।

উদাহরণ

try
{
    int result = Divide(10, 0);
}
catch (DivideByZeroException ex)
{
    Console.WriteLine("Handling in catch block: " + ex.Message);
    throw; // এখানে পুনরায় এক্সেপশন ছাড়া হলো
}

public int Divide(int a, int b)
{
    if (b == 0)
    {
        throw new DivideByZeroException("Cannot divide by zero.");
    }
    return a / b;
}

এখানে Divide মেথড DivideByZeroException ছাড়ছে যদি বিভাজক 0 হয়। catch ব্লক সেটি প্রথমে হ্যান্ডল করে এবং তারপর throw দিয়ে আবার ছুঁড়ে দেয়, যা উপরের লেভেল বা কলিং মেথডে হ্যান্ডল করতে পারে।

৩. কাস্টম এক্সেপশন তৈরি করা
কখনও কখনও সাধারণ এক্সেপশন যথেষ্ট নয় এবং আপনাকে একটি কাস্টম এক্সেপশন ক্লাস তৈরি করতে হতে পারে।

উদাহরণ

public class InvalidAgeException : Exception
{
    public InvalidAgeException(string message) : base(message) { }
}

public void CheckAge(int age)
{
    if (age < 18)
    {
        throw new InvalidAgeException("Custom Exception: Age must be 18 or older.");
    }
}

এখানে একটি কাস্টম InvalidAgeException তৈরি করা হয়েছে, যা কেবলমাত্র ১৮-এর কম বয়স হলে ছাড়া হবে।

সংক্ষেপে

  • নতুন এক্সেপশন তৈরি: throw new ExceptionType("Message");
  • পুনরায় ছাড়া: throw;
  • কাস্টম এক্সেপশন: নিজের এক্সেপশন ক্লাস তৈরি করে throw এর মাধ্যমে নির্দিষ্ট পরিস্থিতিতে ছাড়া।

এইভাবে throw কীওয়ার্ড ব্যবহার করে সি# এ এক্সেপশন হ্যান্ডলিং প্রক্রিয়াকে আরও কার্যকরী ও নিয়ন্ত্রণযোগ্য করা যায়।

Content added By

আরও দেখুন...

Promotion